package com.hbsx.why.utils;

import android.content.Context;
import android.widget.Toast;

import com.hbsx.why.base.BaseApplication;

/**
 * @author LIUB
 * @desc 吐司工具
 * @time 2017/7/7 16:16
 */

public class ToastUtils {
    //1s
    public static void toastShort(String str) {
        showToast(BaseApplication.getInstance(), str + "", Toast.LENGTH_SHORT);
    }

    //5s
    public static void toastLong(String str) {
        showToast(BaseApplication.getInstance(), str + "", Toast.LENGTH_LONG);
    }

    //1s ==1000 time
    public static void toast(String str, int time) {
        showToast(BaseApplication.getInstance(), str + "", time);
    }
    private static String oldMsg;
    protected static Toast toast   = null;
    private static long oneTime=0;
    private static long twoTime=0;
    /**
     * 吐出一个显示时间较短的提示
     * @param context 上下文
     * @param s  文本内容
     */
    public static void showToast(Context context, String s,int time){
        if(toast==null){
            toast =Toast.makeText(context, s, time);
            toast.show();
            oneTime=System.currentTimeMillis();
        }else{
            twoTime=System.currentTimeMillis();
            if(s.equals(oldMsg)){
                if(twoTime-oneTime>time){
                    toast.show();
                }
            }else{
                oldMsg = s;
                toast.setText(s);
                toast.show();
            }
        }
        oneTime=twoTime;
    }




    /**
     * 吐出一个显示时间较长的提示
     * @param context 上下文对象
     * @param formatResId 被格式化的字符串资源的ID
     * @param args 参数数组
     */
    public static final void toastL(Context context, int formatResId, Object... args){
        Toast.makeText(context, String.format(context.getString(formatResId), args), Toast.LENGTH_LONG).show();
    }

    /**
     * 吐出一个显示时间较短的提示
     * @param context 上下文对象
     * @param formatResId 被格式化的字符串资源的ID
     * @param args 参数数组
     */
    public static final void toastS(Context context, int formatResId, Object... args){
        Toast.makeText(context, String.format(context.getString(formatResId), args), Toast.LENGTH_SHORT).show();
    }

    /**
     * 吐出一个显示时间较长的提示
     * @param context 上下文对象
     * @param format 被格式化的字符串
     * @param args 参数数组
     */
    public static final void toastL(Context context, String format, Object... args){
        Toast.makeText(context, String.format(format, args), Toast.LENGTH_LONG).show();
    }

    /**
     * 吐出一个显示时间较短的提示
     * @param context 上下文对象
     * @param format 被格式化的字符串
     * @param args 参数数组
     */
    public static final void toastS(Context context, String format, Object... args){
        Toast.makeText(context, String.format(format, args), Toast.LENGTH_SHORT).show();
    }
}
